A structured file (e.g., an eXtensible Markup Language (XML) document) may be transformed or manipulated to satisfy a variety of objectives. For example, a structured file may be transformed into a different format. Currently, many transformation engines load a complete structured file into memory and map the structured file into an internal tree structure, which may be embodied within a Document Object Model (DOM). A transformation engine needs to navigate through the tree structure to transform the structured file.
A tree structure is typically larger in size and than information for source or subset needed for the transformation, and may therefore occupy a large amount of memory than necessary. Therefore, the processing and storage of a tree structure may exert a great strain on system resources, especially when the structured file is large. Furthermore, many applications need to build their own custom tree structures, rather than using a generic tree structure. Here, a generic tree structure is initially built and then mapped to a different custom tree structure. The generic tree may then be discarded. The operations of building the entire tree structure and then discarding it after mapping waste system resources and slow the transformation process.